﻿using B.S.BasicData.Domain.Entities.Leave;

namespace B.S.BasicData.API.Read.DTOS.Leave
{
    /// <summary>
    /// 请假DTO
    /// </summary>
    public class LeaveDTO
    {
        /// <summary>
        /// 申请Id
        /// </summary>
        public int Id {  get; set; }
        /// <summary>
        /// 申请人
        /// </summary>
        public string ApplicationName { get; set; }
        /// <summary>
        /// 部门Id
        /// </summary>
        public int DepartmentId { get; set; }
        /// <summary>
        /// 请假类别Id
        /// </summary>
        public int LeaveTypeId { get; set; }
        /// <summary>
        /// 请假类别名称
        /// </summary>
        public string LeaveTypeName {  get; set; }
        /// <summary>
        /// 请假开始时间
        /// </summary>
        public DateTime StartTime { get; set; }
        /// <summary>
        /// 请假结束时间
        /// </summary>
        public DateTime EndTime { get; set; }
        /// <summary>
        /// 共计多少时间
        /// </summary>
        public int TotalTime { get; set; }
        /// <summary>
        /// 报道时间
        /// </summary>
        public DateTime ReportTime { get; set; }
        /// <summary>
        /// 请假事由
        /// </summary>
        public string Reason { get; set; }
        /// <summary>
        /// 部门领导
        /// </summary>
        public string Depleaders { get; set; }
        /// <summary>
        /// 申请状态
        /// </summary>
        public LeaveStateEnum State { get; set; }
        /// <summary>
        /// 申请状态名称
        /// </summary>
        public string StateName { get { return  State.ToString(); } }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateDate { get; set; }
        /// <summary>
        /// 审核原因
        /// </summary>
        public string? LeaveReview { get; set; }


    }
}
